Ứng dụng Phép_toán_thao_tác_bit

Các phép toán trên thao tác bit là đặc biệt cần thiết trong các ngôn ngữ lập trình bậc thấp như các ngôn ngữ dùng để viết ra các trình cắm thiết bị (drivers), đồ họa bậc thấp, hình thành gói giao thức các truyền thông, và giải mã.

Mặc dù các hệ thống máy thường có sẵn các cấu trúc (instructions) hiệu quả cho việc thực hiện các phép toán học và phép luận lý (logic), tuy nhiên trong thực tế, các thao thác này có thể được thực hiện bằng cách kết hợp các toán tử thao tác bit và phép thử số 0 (zero-testing) bằng nhiều cách khác nhau. Ví dụ, dưới đây là mã giải (pseudocode) của phép nhân Ai Cập cổ đại chỉ ra cách để có thể nhân hai số nguyên tùy thích ab (trong đó a lớn hơn b) mà chỉ cần sử dụng thao tác dịch chuyển bit và phép cộng:

c = 0while b ≠ 0  if (b and 1) ≠ 0    c = c + a  left shift a by 1  right shift b by 1return c

Một ví dụ nữa là mã giải của phép cộng, chỉ ra cách để tính tổng của hai số nguyên ab sử dụng các toán tử thao tác bit và phép thử số 0:

while a ≠ 0  c = b and a  b = b xor a  left shift c by 1  a = creturn b

Lưu ý: các dấu = trong các ví dụ trên là phép gán chứ không phải là phép tương đương.